package com.autumn.platform.auth.core.access;

import java.io.Serializable;

public interface IPermission extends Serializable {

    IPermission ANY = PermissionEnums.ANY;

    /**
     * 获取权限ID
     * 
     * @return 权限ID
     */
    String getPermId();

    /**
     * 获取业务键值
     * 
     * @return
     */
    String getBusinessKey();

    /**
     * 获取权限类型
     * 
     * @return 权限类型，如MENU菜单、SERVICE服务等
     */
    String getPermType();

    /**
     * 获取权限类型的键值
     * 
     * @return 权限类型的键值，和权限类型对应，如菜单ID、服务ID等
     */
    String getPermTypeKey();

    /**
     * 获取权限级别 0 公共功能 1有效用户 2授权用户
     * 
     * @return 鉴权级别
     */
    String getAuthzLevel();
}
